﻿#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

//#define INT_PTR int*
//typedef int* int_ptr;
//
//INT_PTR a, b;
//
//int_ptr c, d;
//
//int main()
//{
//
// 	char c1[] = { '1','2','3','4','5' };
//	char c2[] = { '\x10', '\xa', '\8' };   //\x 是转义字符前导符 16进制  \0 是8进制
//	char arr[] = { 1,2,3 };
//	a = &arr;
//	return 0;
//}



//描述
//输入数字 n，按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3，则打印出 1、2、3 一直到最大的 3 位数 999。
//1. 用返回一个整数列表来代替打印
//2. n 为正整数，0 < n <= 5
//输入：
//1
//返回值：
//[1, 2, 3, 4, 5, 6, 7, 8, 9]

/**
 * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
 *
 *
 * @param n int整型 最大位数
 * @return int整型一维数组
 * @return int* returnSize 返回数组行数
 */
#include <math.h>
//int* printNumbers(int n, int* returnSize) //returnSize 好像应该是确定最大元素大小的意思 ..
//{
//    *returnSize = pow(10, n) - 1;
//    int* arr = (int*)malloc(sizeof(int) * (*returnSize));
//    int i = 0;
//    for (i = 0; i < *returnSize; i++)
//    {
//        arr[i] = i + 1;
//    }
//    return arr;
//}




//描述
//根据输入的日期，计算是这一年的第几天。
//保证年份为4位数且日期合法。
//进阶：时间复杂度：O(n) O(n) ，空间复杂度：O(1) O(1)
//输入描述：
//输入一行，每行空格分割，分别是年，月，日
//输出描述：
//输出是这一年的第几天
//示例1
//输入：
//2012 12 31
//输出：
//366

int is_leap_year(int y)
{
    if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0))
        return 1;
    return 0;
}
int main()
{
    int monthday[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
    int y = 0;
    int month = 0;
    int day = 0;
    int i = 0;
    int sum = 0;
    scanf("%d %d %d", &y, &month, &day);
    for (i = 0; i < month; i++)
    {
        sum += monthday[i];
    }
    sum += day;
    if (month > 2)
    {
        if (is_leap_year(y) == 1)
        {
            sum++;
        }
    }
    printf("%d\n", sum);
    return 0;
}